package com.example.emos.wx.common.util;

import org.apache.http.HttpStatus;

import java.util.HashMap;
import java.util.Map;

/**
 * @program: emos-wx-api
 * @author: JackLiang
 * @create: 2021-03-26 10:18
 **/
/*
* 封装Web返回对象
* 调用httpcomponets库
* */
public class R extends HashMap<String,Object> {
    //构造器
        public R(){
            put("code", HttpStatus.SC_OK);
            put("msg","success");
        }
        //重写put方法方便链式调用
        public R put(String key,Object value){
            super.put(key,value);
            return this;
        }

        //静态工厂方法
        public static R ok() {
            return new R();
        }


        public static R ok(String msg) {
                R r = new R();
                r.put("msg", msg);
                return r;
            }



        public static R ok(Map<String, Object> map) {
            R r = new R();
            r.putAll(map);
            return r;
        }



        //失败的工厂方法
        public static R error() {
            return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常，请联系管理员");
        }

        public static R error(String msg) {
            return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);
        }

        public static R error(int code, String msg) {
            R r = new R();
            r.put("code", code);
            r.put("msg", msg);
            return r;
        }



}
